<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
</body>
<script>
    // sort   官方提供的数组排序的方法
    // 返回值: 排序后的原数组
    // 是否影响原数组: 是


    // 注意:
    // sort有两个排序方式
    // (1) 字符排序
    // (2) 纯数字排序
    // (3) 数组乱序(原理同2)

    var list = [2,8,4,6,24,37,61,52,79,83];

    // (1) 字符排序  => 比较的是字符对应的ascii码 (第一个不同就比较第一个字符,第一个相同就比较第二个)
    // var result = list.sort();
    // console.log(result);
    // console.log(list);
    // console.log(list === result);


    // (2) 纯数字排序
    // list.sort(function(a,b){ // 传入一个回调函数,每次参与比较时执行传入的回调函数
    //     console.log(a,b);
    //     // return a - b;  // a - b > 0 => a > b 交换位置(前一个数大于后一个时交换位置)  从小到大
    //     return b - a;  // b - a > 0 => a < b 交换位置(前一个数小于后一个时交换位置)  从大到小
    // })
    // console.log(list);

    // (3) 数组乱序
    var list = [1,2,3,4,5,6,7,8,9];
    list.sort(function(){
        return Math.random() - Math.random(); // 如果回调函数的返回值大于0 交换位置 (此时两个数都是随机数 => 可能换,也可能不换) 
    })
    console.log(list);






</script>
</html>